/********************************************************************************
 * Project Name		[JavaEE_Web]
 * File Name     	[IStudentDao.java]
 * Creation Date 	[2015-01-01]
 * 
 * Copyright© ge.y.yang@gmail.com All Rights Reserved
 * 
 * Work hard, play harder, think big and keep fit
 ********************************************************************************/
package mvc.dao;

import java.util.List;

import mvc.domain.Student;

/**
 * @author 不落的太阳(Sean Yang aka ShortPeace)
 * @version 1.0
 * @since jdk 1.8
 * 
 */
public interface IStudentDao {

	/**
	 * 查找所有学生
	 * 
	 * @return
	 */
	public List<Student> findAllStudents();

	/**
	 * 查找所有符合条件的学生
	 * 
	 * @param criteria
	 * @return
	 */
	public List<Student> findStudentsByCriteria(StudentCriteria criteria);

	/**
	 * 查找指定ID学生
	 * 
	 * @param id
	 * @return
	 */
	public Student findStudentById(Integer id);

	/**
	 * 增加新学生
	 * 
	 * @param student
	 */
	public void save(Student student);

	/**
	 * 更新学生信息
	 * 
	 * @param student
	 */
	public void update(Student student);

	/**
	 * 删除指定ID的学生
	 * 
	 * @param id
	 */
	public void delete(Integer id);

	/**
	 * 查看是否名字被占用[返回行数大于1]
	 * 
	 * @param name
	 */
	public int getStudentCountByName(String name);
}
